// 新增簿记页面
import React from 'react';
import { connect } from 'dva';
import { FirstHeaderC, NoDataMaskC } from '../../../../comps';
import { Row, Col, Spin, message } from 'antd';
import mystyle from './index.less';
import accounting from 'accounting';
class BondIssue extends React.Component {
  state = {
    information: {
      tradingCode: '--', // 债券代码
      secuabbr: '--', // 债券名称
      secucategoryCodeiiName: '--', // 债券类型
      exchangeCode: '--', // 交易市场
      bondMaturity: '--', // 期限
      couponRate: '--', // 利率
      listingStartdate: '--', // 发行起始日
      listingEnddate: '--', // 发行截止日
      pickingDate: '--', // 中签日
      fundingDate: '--', // 缴款日
      issuer: '--', // 发行人
      bondRating: '--', // 债项评级
      issuerRating: '--', // 主体评级
      issueSize: '--', // 发行总量
      prepaindProp: '--', // 定金比例
      prepaindAmount: '--', // 定金
    },
    masking: true, //是否显示蒙版
  };

  componentDidMount() {}
  UNSAFE_componentWillReceiveProps(nextProps) {
    const { tradingcode, exchangecode } = this.props;
    if (tradingcode != nextProps.tradingcode || exchangecode != nextProps.exchangecode) {
      if (nextProps.tradingcode && nextProps.exchangecode) {
        this.getBondInformation(nextProps);
      } else {
        this.setState({
          information: {
            tradingCode: '--', // 债券代码
            secuabbr: '--', // 债券名称
            secucategoryCodeiiName: '--', // 债券类型
            exchangeCode: '--', // 交易市场
            bondMaturity: '--', // 期限
            couponRate: '--', // 利率
            listingStartdate: '--', // 发行起始日
            listingEnddate: '--', // 发行截止日
            pickingDate: '--', // 中签日
            fundingDate: '--', // 缴款日
            issuer: '--', // 发行人
            bondRating: '--', // 债项评级
            issuerRating: '--', // 主体评级
            issueSize: '--', // 发行总量
            prepaindProp: '--', // 定金比例
            prepaindAmount: '--', // 定金
          },
          masking: true,
        });
      }
    }
  }

  //获取数据
  getBondInformation = (datas) => {
    const { dispatch } = this.props;
    const { tradingcode, exchangecode } = datas;
    this.setState({
      masking: false,
    });
    dispatch({
      type: 'bondOfflineM/queryBondInfo',
      payload: {
        tradingCode: tradingcode,
        exchangeCode: exchangecode,
      },
      callback: (data) => {
        if (data && data.length > 0) {
          let datas = this.changeData(data[0]);
          this.setState({
            information: datas,
          });
        } else {
          this.setState({
            information: {
              tradingCode: '--', // 债券代码
              secuabbr: '--', // 债券名称
              secucategoryCodeiiName: '--', // 债券类型
              exchangeCode: '--', // 交易市场
              bondMaturity: '--', // 期限
              couponRate: '--', // 利率
              listingStartdate: '--', // 发行起始日
              listingEnddate: '--', // 发行截止日
              pickingDate: '--', // 中签日
              fundingDate: '--', // 缴款日
              issuer: '--', // 发行人
              bondRating: '--', // 债项评级
              issuerRating: '--', // 主体评级
              issueSize: '--', // 发行总量
              prepaindProp: '--', // 定金比例
              prepaindAmount: '--', // 定金
            },
          });
        }
      },
    });
  };

  changeData = (data) => {
    if (data.couponRate) {
      data.couponRate = (Number(data.couponRate) * 100).toFixed(2);
    }
    if (data.prepaindProp) {
      data.prepaindProp = (Number(data.prepaindProp) * 100).toFixed(2);
    }
    if (data.prepaindAmount) {
      data.prepaindAmount = accounting.formatNumber(Number(data.prepaindAmount) / 10000, 4);
    }
    if (data.issueSize) {
      data.issueSize = accounting.formatNumber(Number(data.issueSize) / 10000, 4);
    }
    return data;
  };

  render() {
    const { loading } = this.props;
    const { information, masking } = this.state;
    return (
      <div>
        <FirstHeaderC title={'债券发行信息'} />
        <Spin spinning={loading.effects['bondOfflineM/queryBondInfo'] == true}>
          <div className={mystyle.box} style={{ marginTop: '5px', position: 'relative', height: '390px' }}>
            <Row>
              <Col span={12}>
                <span>债券名称：</span>
                {information.secuabbr ? information.secuabbr : '--'}
              </Col>
              <Col span={12}>
                <span>债券代码：</span>
                {information.tradingCode ? information.tradingCode : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>债券类型：</span>
                {information.secucategoryCodeiiName ? information.secucategoryCodeiiName : '--'}
              </Col>
              <Col span={12}>
                <span>交易市场：</span>
                {information.exchangeName ? information.exchangeName : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>期限(年)：</span>
                {information.bondMaturity ? information.bondMaturity : '--'}
              </Col>
              <Col span={12}>
                <span>利率(%)：</span>
                {information.couponRate ? information.couponRate : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>发行起始日：</span>
                {information.listingStartdate ? information.listingStartdate : '--'}
              </Col>
              <Col span={12}>
                <span>发行截止日：</span>
                {information.listingEnddate ? information.listingEnddate : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>中签日：</span>
                {information.pickingDate ? information.pickingDate : '--'}
              </Col>
              <Col span={12}>
                <span>缴款日：</span>
                {information.fundingDate ? information.fundingDate : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>发行人(全称)：</span>
                {information.issuerName ? information.issuerName : '--'}
              </Col>
              <Col span={12}>
                <span>发行总量(万元)：</span>
                {information.issueSize ? information.issueSize : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>债项评级：</span>
                {information.bondRating ? information.bondRating : '--'}
              </Col>
              <Col span={12}>
                <span>主体评级：</span>
                {information.issuerRating ? information.issuerRating : '--'}
              </Col>
            </Row>
            <Row>
              <Col span={12}>
                <span>定金(万元)：</span>
                {information.prepaindAmount ? information.prepaindAmount : '--'}
              </Col>
              <Col span={12}>
                <span>定金比例(%)：</span>
                {information.prepaindProp ? information.prepaindProp : '--'}
              </Col>
            </Row>
            {masking ? <NoDataMaskC height={'270px'} title={'请选择证券代码，加载数据！'} /> : null}
          </div>
        </Spin>
      </div>
    );
  }
}

export default connect(({ bondOfflineM, loading }) => ({ bondOfflineM, loading }))(BondIssue);
